package cn.kpi.dao.usualassessment;

import java.util.List;
import java.util.Map;

import cn.kpi.entity.usualassseason.MzpdPassNoEntity;
import org.apache.ibatis.annotations.Param;

import cn.kpi.common.persistence.MyBatisDao;
import cn.kpi.entity.usualassessment.UserUATBmTjEntity;
import cn.kpi.entity.usualassessment.UserUATMzpdEntity;
import cn.kpi.entity.usualassessment.UserUATMzpdSummaryEntity;
import cn.kpi.entity.usualassessment.UserUATQzEntity;

@MyBatisDao
public interface UserUATMzpdDao {
    public int InsertQzEntity(UserUATQzEntity entity) throws Exception;

    public UserUATQzEntity GetQzByStatus() throws Exception;

    public int UpdateQzStatusEntity() throws Exception;

    public int InsertMzpdEntity(UserUATMzpdEntity entity) throws Exception;

    public List<UserUATMzpdEntity> GetMzpdListByWhere(@Param("where") String where) throws Exception;

    public int GetMzpdListCountByWhere(@Param("where") String where) throws Exception;

    public UserUATMzpdEntity GetMzpdListById(@Param("mzpdid") Long mzpdid) throws Exception;

    public int DeleteMzpdEntity(@Param("mzpdid") Long mzpdid) throws Exception;

    public int GetMzpdSummaryCountByYear(@Param("userid") Long userid, @Param("year") int year) throws Exception;

    public int InsertMzpdSummary(@Param("userid") Long userid, @Param("year") int year, @Param("quarter") int quarter, @Param("zzpdjg") String zzpdjg, @Param("dymzpyjg") String dymzpyjg,@Param("szdw") long szdw,@Param("szdwname") String szdwname) throws Exception;

    public int UpdateMzpdSummary(@Param("userid") Long userid, @Param("year") int year, @Param("quarter") int quarter, @Param("zzpdjg") String zzpdjg, @Param("dymzpyjg") String dymzpyjg,@Param("szdw") long szdw,@Param("szdwname") String szdwname) throws Exception;

    public List<UserUATMzpdSummaryEntity> GetMzpdSummaryListByWhere(@Param("where") String where, @Param("year") int year) throws Exception;

    public int GetMzpdSummaryListCountByWhere(@Param("where") String where, @Param("year") int year) throws Exception;

    public List<Map> GetPjOrgSumList(@Param("where") String where, @Param("year") int year, @Param("quarter") int quarter) throws Exception;

    public List<UserUATMzpdEntity> GetUserMzpdListProcess(@Param("where") String where, @Param("year") int year, @Param("quarter") int quarter, @Param("beginrow") int beginrow, @Param("endrow") int endrow) throws Exception;

    public List<UserUATMzpdEntity> GetOldUserMzpdListProcess(@Param("where") String where, @Param("year") int year, @Param("quarter") int quarter, @Param("beginrow") int beginrow, @Param("endrow") int endrow) throws Exception;

    public int GetUserMzpdListProcessCount(@Param("where") String where) throws Exception;
    public int GetOldUserMzpdListProcessCount(@Param("where") String where) throws Exception;

    public int UpdateMzpdEntity(UserUATMzpdEntity entity) throws Exception;

    public int UpdateMzpdStatus(@Param("mzpdid") Long mzpdid, @Param("status") int status) throws Exception;

    public int UpdateUsasstempNodeMzpd(@Param("mzpdid") Long mzpdid, @Param("userid") Long userid, @Param("year") int year, @Param("quarter") int quarter) throws Exception;

    public UserUATBmTjEntity GetBmTj(@Param("year") int year, @Param("orgid") Long orgid) throws Exception;

    public UserUATMzpdEntity GetMzpdEntityByYQU(@Param("userid") Long userid, @Param("year") int year, @Param("quarter") int quarter) throws Exception;

    public int UpdateMzpdStatusBm(@Param("orgid") Long orgid, @Param("year") int year, @Param("quarter") int quarter, @Param("status") int status) throws Exception;

    public int UpdateUsasstempNodeMzpdBm(@Param("orgid") Long orgid, @Param("year") int year, @Param("quarter") int quarter, @Param("status") int status) throws Exception;

    public int InsertOrgStatusEntity(@Param("orgid") Long orgid, @Param("year") int year, @Param("quarter") int quarter) throws Exception;

    public int UpdateOrgStatusEntityTj(@Param("orgstatustjid") Long orgstatustjid) throws Exception;

    public int GetOrgStatusCount(@Param("orgid") Long orgid, @Param("year") int year, @Param("quarter") int quarter) throws Exception;

    public List<UserUATMzpdEntity> GetAllUserMzpdListProcess(@Param("where") String where,@Param("where3") String where3, @Param("year") int year, @Param("quarter") int quarter) throws Exception;

    public List<UserUATMzpdEntity> GetOldAllUserMzpdListProcess(@Param("where") String where,@Param("where3") String where3, @Param("year") int year, @Param("quarter") int quarter) throws Exception;

    public List<UserUATMzpdEntity> GetMzpdPassNoEntity(@Param("where") String where, @Param("year") int year, @Param("quarter") int quarter) throws Exception;


    public List<UserUATMzpdEntity> GetMzpdPassNoEntity1(@Param("where") String where, @Param("year") int year) throws Exception;


    public int deleteMzpdEntityBatch(@Param("where") String where) throws Exception;

    public int insertMzpdEntityBatch(List<MzpdPassNoEntity> list) throws Exception;


     public  int updateMzpdStatus(@Param("status") int status,@Param("orgid") Long orgid,@Param("year") int year,@Param("quarter") int quarter);

    public List<UserUATMzpdEntity> getMzpdById(@Param("mzpdpassnoid") int mzpdpassnoid);

     public  int  updateMzpd(@Param("reason") String reason,@Param("howtodo") String howtodo,@Param("remark") String remark,@Param("mzpdpassnoid") int mzpdpassnoid);


}
